#ifndef LIGHTELEMENT_HPP
#define LIGHTELEMENT_HPP

#include <cmath>
#include <Box2D.h>
#include <vector>

#include "Element.hpp"

using namespace std;

class SpotlightElement;

class LightElement : public Element {
public:
    enum Type {
        attractiveLight,
        elasticLight,
        repulsiveLight,
        slipperyLight,
        solidLight
    };

    float arc;
    float base;
    float length;
    LightElement::Type lightType;
    b2PolygonShape* shape;

    LightElement(float x, float y, float angle, float arc, float length, LightElement::Type lightType, b2World* world);

    virtual bool isLight();
    void recalcShape();
};

#endif
